package com.selune.online.ordering.system.project.api.service.customer;

import com.selune.online.ordering.system.project.api.base.response.Response;
import com.selune.online.ordering.system.project.api.pojo.user.customer.dto.CustomerLoginDTO;
import com.selune.online.ordering.system.project.api.pojo.user.customer.dto.CustomerUserDTO;
import com.selune.online.ordering.system.project.api.pojo.user.customer.dto.CustomerUserInfoDTO;
import com.selune.online.ordering.system.project.api.pojo.user.customer.vo.CustomerUserInfoVO;
import com.selune.online.ordering.system.project.api.pojo.user.dto.LoginDTO;

/**
 * 消费者用户管理接口
 *
 * @author xiaoyp
 * @date 2020/2/19
 */

public interface ICustomerUserService {
	
	/**
	 * 注册消费者用户(信息)
	 *
	 * @param customerUserDTO 用户信息DTO
	 * @return True/False
	 */
	Response<Boolean> saveCustomerUser(CustomerUserDTO customerUserDTO);
	
	/**
	 * 编辑消费者用户信息
	 *
	 * @param userId              用户id
	 * @param customerUserInfoDTO 用户信息DTO
	 * @return True/False
	 */
	Response<Boolean> updateCustomerUser(Long userId, CustomerUserInfoDTO customerUserInfoDTO);
	
	/**
	 * 编辑消费者登陆信息
	 *
	 * @param userId           用户id
	 * @param customerLoginDTO 用户信息DTO
	 * @return True/False
	 */
	Response<Boolean> updateCustomerLogin(Long userId, CustomerLoginDTO customerLoginDTO);
	
	/**
	 * 根据用户名，密码登陆
	 *
	 * @param loginDTO 登陆DTO
	 * @return 用户信息
	 */
	Response<CustomerUserInfoVO> userLogin(LoginDTO loginDTO);
	
}
